In some signal processing systems, the transmission of an information stream over a transmission channel to a receiver can result in burst errors. A burst error occurs when most, if not all, of the values in a contiguous sequence of values of the information stream are in error. If the number of contiguous values in error exceeds the receiver's ability to correct the errors (e.g., using error-correction encoding and decoding), then the receiver will fail to correctly recover the information stream.
To reduce the effects that burst errors have on recovering an information stream at a receiver, many signal processing systems employ interleaving schemes. In such schemes, a transmitter divides the information stream into sets of contiguous values. Each set of contiguous values is input to an interleaver that shuffles the values in the set to generate a set of interleaved values. In so doing, the interleaver applies a single mapping of interleaver inputs to interleaver outputs to each set. Each set of interleaved values is transmitted to the receiver, and, upon receipt of the set of interleaved values, the receiver de-interleaves the set of interleaved values to return the set to its pre-interleaved arrangement. The de-interleaving spreads out any burst errors that were introduced into the sets of interleaved values over the transmission channel, thereby creating a more uniform distribution of errors, which may then be easier to correct using a suitable error correction scheme.